package com.xingchi.tornado.dict.service;

import com.xingchi.tornado.dict.model.DictMetadata;

import java.util.List;
import java.util.Map;

/**
 * 字典数据存储服务
 *
 * @author xingchi
 * @date 2024/5/19 20:40
 */
public interface DictStorageService {

    /**
     * 存储字典数据
     *
     * @param dictMetadataList 字典数据集合
     */
    void storage(List<DictMetadata> dictMetadataList);

    /**
     * 获取所有字典项
     *
     * @return 所有字典项
     */
    Map<String, List<DictMetadata.Item>> getAllDictItems();

    /**
     * 根据字典分组获取字典数据
     *
     * @param group 分组项
     * @return 字典数据
     */
    List<DictMetadata.Item> getDictItems(String group);

    /**
     * 存储类型
     *
     * @param storageType 存储类型
     * @return 是否支持
     */
    boolean supports(Integer storageType);

}
